package com.ryder.subject.infra.basic.service;

import com.ryder.subject.infra.basic.entity.SubjectMapping;

import java.util.List;

/**
 * 描述: 题目分类关系表(SubjectMapping)表服务接口
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0 // 版本号，指明从哪个版本开始
 * 更新日期: 2025-02-05
 */

public interface SubjectMappingService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SubjectMapping queryById(Long id);

    /**
     * 新增数据
     *
     * @param subjectMapping 实例对象
     * @return 实例对象
     */
    SubjectMapping insert(SubjectMapping subjectMapping);

    /**
     * 修改数据
     *
     * @param subjectMapping 实例对象
     * @return 实例对象
     */
    SubjectMapping update(SubjectMapping subjectMapping);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    /**
     * 通过categoryId查询获取集合
     *
     * @param subjectMapping 实例对象
     * @return 实例对象
     */
    List<SubjectMapping> queryLabelId(SubjectMapping subjectMapping);

    /**
     * 批量插入
     *
     * @param mappingList 实例对象
     * @return 实例对象
     */
    void batchInsert(List<SubjectMapping> mappingList);

    SubjectMapping queryAllByLimit(SubjectMapping subjectMapping);

}
